﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TVLDesktop
{
    
    public class TInventario
    {
        private List<Objeto> _Objetos;
        private int Cantidad()
        {
            return _Objetos.Count;
        }
        private TEquipo _Equipo;

        public void Añadir(Objeto obj)
        {
            _Objetos.Add(obj);
        }

        public void Añadir(List<Objeto> objs)
        {
            for (int i = 0; i < objs.Count; i++)
                _Objetos.Add(objs[i]);
        }

        public void VaciarTodos()
        {
            _Objetos.Clear();
            _Equipo.Vaciar();
        }

        public void SoltarSaca()
        {
            int max = _Objetos.Count;
            for (int i = 0; i < max; i++)
            {
                if ((_Objetos[i] != null) && (!_Equipo.Equipado(_Objetos[i])))
                    _Objetos.RemoveAt(i);
            }
        }

        public void Equipar(int posicion, Posiciones sitio)
        {
            if ((_Objetos[posicion] != null) && (!_Equipo.Equipado(_Objetos[posicion])) && (_Objetos[posicion].CanEquip(sitio)))
            {
                _Equipo.Equipar(_Objetos[posicion], sitio);

            }
        }

        public TEquipo Equipo
        {
            get
            {
                return this._Equipo;
            }
            set
            {
                this._Equipo = value;
            }
        }

        public System.Collections.Generic.List<TVLDesktop.Objeto> Objetos
        {
            get
            {
                return this._Objetos;
            }
            set
            {
                this._Objetos = value;
            }
        }

        public TInventario()
        {
            _Objetos = new List<Objeto>();
            _Equipo = new TEquipo();
        }


    }
}
